XML DOM cloneNode() 方法
定義和用法
cloneNode() 方法可創(chuàng)建指定的節(jié)點(diǎn)的精確拷貝。
此方法可返回所復(fù)制的節(jié)點(diǎn)。
語法:
nodeObject.cloneNode(include_all)
參數(shù) | 描述 |
---|---|
include_all | 必需。假如邏輯參數(shù)被設(shè)置為真,那么被克隆的節(jié)點(diǎn)會克隆原節(jié)點(diǎn)的所有子節(jié)點(diǎn)。 |
返回值
當(dāng)前節(jié)點(diǎn)的副本。
說明
該方法將復(fù)制并返回調(diào)用它的節(jié)點(diǎn)的副本。如果傳遞給它的參數(shù)是 true,它還將遞歸復(fù)制當(dāng)前節(jié)點(diǎn)的所有子孫節(jié)點(diǎn)。否則,它只復(fù)制當(dāng)前節(jié)點(diǎn)。
返回的節(jié)點(diǎn)不屬于文檔樹,它的 parentNode 屬性為 null。
當(dāng)復(fù)制的是 Element 節(jié)點(diǎn)時,它的所有屬性都將被復(fù)制。但要注意,當(dāng)前節(jié)點(diǎn)上注冊的事件監(jiān)聽器函數(shù)不會被復(fù)制。
實(shí)例
在所有的例子中,我們將使用 XML 文件 books.xml,以及 JavaScript 函數(shù) loadXMLDoc()。
下面的代碼片段可克隆首個 <book> 節(jié)點(diǎn),然后把它添加到節(jié)點(diǎn)列表的末尾:
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true)
;
xmlDoc.documentElement.appendChild(cloneNode);
//Output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
輸出:
Everyday Italian Harry Potter XQuery Kick Start Learning XML Everyday Italian